Binary data comprises data bits containing information in the form of binary one and binary zero digits. In logic circuits it is common to represent a binary one digit by a predetermined positive voltage and a binary zero digit by a zero or negative voltage. To transfer these data bits or record them on a magnetic tape or optical disk, the data bits are generally modified, by a process known as encoding. Each encoded data bit is accommodated in an interval referred to as a bit cell. This bit cell may be a time interval (in the case of transmission via an information transmission channel) or a spatial interval (in the case of recording on a tape or a disk). There are a variety of objectives for channel encoding and a variety of techniques to satisfy these objectives. For example, it may be desirable to obtain maximum information density in the encoded signal or to eliminate the dc content of the encoded signal without increasing the bandwidth.
One technique for encoding digital data is the non-return-to-zero (NRZ) technique. In NRZ encoding, one bits and zero bits are recorded as positive and negative levels, respectively; transitions in the NRZ signal occur only when the data bit changes. That is, for consecutive one bits an NRZ signal remains in the high state.
Another encoding technique is Miller encoding. The rules for Miller encoding are: (1) each binary one bit is encoded with a transition in the middle of the bit cell; (2) a single zero data bit between two one data bits is ignored, that is, there is no transition associated with single isolated zero bits; and (3) there is a transition at the beginning of the bit cell that separates a pair of zero data bits. Miller encoded data is self-clocking (that is, the clock signal necessary for decoding can be obtained directly from the encoded data signal), and has a bandwidth similar to an NRZ encoded data signal, but decoding Miller-encoded data requires a clock running at twice the data rate. A Miller encoded signal also has a dc content, whose magnitude can vary between zero volts and one-third the voltage representing a binary one bit, depending on the bit pattern.
It is advantageous to remove the dc content because there are low frequency limits for transmitting such a waveform through capacitive or inductive coupling circuits or through the magnetic field of a magnetic recording device. For example, when a series of pulses is transmitted through a capacitive coupling circuit the charge on the capacitor accumulates with the dc component of the waveform and therefore the output pulses gradually degenerate. Eliminating the dc content also simplifies circuit design by, for example, eliminating the need for dc coupling between circuit stages.
One technique for modifying the Miller-encoding scheme is disclosed in U.S. Pat. No. 3,810,111 issued to A.M. Patel and entitled "Data Coding With Stable Base Line For Recording And Transmitting Binary Data." An article appearing in The Radio and Electronic Engineer, Volume 47, No. 4, pp 172-176, Apr. 1977, by J. C. Mallinson and J. W. Miller, discusses the Patel encoding scheme disclosed in the Patel patent. The article notes that any data stream may be considered a series of sequences of two types:
(a) 011110; n ones bounded by zeroes, with n greater than or equal to zero, and
(b) 111111; m ones.
Under Miller-coding rules, sequences of type (a) with n even and non-zero, have a non-zero dc value, which upon concatenation with interleaving type (b) sequences, can be maintained indefinitely. While other sequences, that is type (a) sequences with n odd or zero, or type (b) have zero dc content. In the Patel scheme, for all sequences with n even and non-zero all zeroes are encoded in the standard Miller fashion; the ones are encoded as though they were zeroes but with alternate transitions deleted. With this coding scheme the dc content is zero at the end of each sequence. All other data sequences are coded under standard Miller rules. Because the data within each sequence has to be altered, Patel requires an infinite forward-looking and backward-looking memory to identify the sequence boundary and modify the encoding scheme if n is even and non-zero.
The referenced article also discloses another modification of the Miller technique to remove the dc content of the encoded waveform. Like the Patel scheme, this is achieved by modifying data sequences having a non-zero dc content. However, to limit the memory required the changes are introduced only at the end of the sequence. Accordingly, in the sequences having n even and non-zero, all the ones are encoded according to the normal Miller rules, but the last one is simply ignored. All other sequences are coded by the standard Miller rules. For modified sequences having a final zero, the final zero is counted as part of the following sequence.
U.S. Pat. No. 4,414,659 issued to Beckers and entitled "Method And Apparatus For Encoding Digital Data So As To Reduce The D.C. And Low Frequency Content Of The Signal" discloses yet another encoding scheme based upon the Miller scheme. The scheme by Beckers uses the type (a) and (b) sequences discussed above in conjunction with the patent to Patel. But, in contrast to the Patel scheme, only the first two one bits of a type (a) sequence where n is even are modified by encoding the two one bits with a transition at the boundary between them. The remaining one bits of a type (a) word with n even are encoded in accordance with normal Miller rules. Alternatively, Beckers also discloses another modification to the Miller-encoding scheme where only a single specific sequence type is detected, namely a sequence comprising a single zero followed by an even number of ones. Each sequence of this type is modified regardless of its position within the data stream. The modification comprises changing the first two one bits such that there is a signal transition between them. The dc content for each sequence using this scheme is also zero.